package com.sky.robot.frame.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author sky
 * @since 2024-09-25
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("sky_table_column")
public class SkyTableColumn implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 表数据ID
     */
    @TableField("table_id")
    private String tableId;

    /**
     * 对应的表明
     */
    @TableField("table_name")
    private String tableName;

    /**
     * 数据表字段
     */
    @TableField("col_code")
    private String colCode;

    /**
     * 字段名
     */
    @TableField("col_name")
    private String colName;

    /**
     * 字段类型0:字符串1:整形2:浮点数
     */
    @TableField("col_type")
    private String colType;

    /**
     * 字段长度
     */
    @TableField("col_length")
    private Integer colLength;

    /**
     * 小数点
     */
    @TableField("col_decimal_point")
    private String colDecimalPoint;

    /**
     * 是否主键
     */
    @TableField("col_is_key")
    private String colIsKey;

    /**
     * 是否为空0:可以为空，1:不可以为空
     */
    @TableField("col_is_null")
    private String colIsNull;

    /**
     * 注释
     */
    @TableField("col_annotation")
    private String colAnnotation;

    /**
     * 默认值
     */
    @TableField("default_value")
    private String defaultValue;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 0:是1:否
     */
    @TableField("del_flag")
    private String delFlag;

    /**
     * 创建人
     */
    @TableField("create_by")
    private String createBy;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    /**
     * 更新人
     */
    @TableField("update_by")
    private String updateBy;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private Date updateTime;
}
